package com.baixun.gassystem.service;

import com.baixun.gasentity.entity.SysDroneOperations;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import javax.servlet.ServletOutputStream;
import java.util.List;

/**
 * 无人机操作列表的服务接口
 * 提供分页查询和不分页查询功能，支持根据场站名称和报警类型进行筛选
 */
public interface SysDroneOperationsService {

    /**
     * 分页查询无人机操作记录
     *
     * @param page        分页对象，包含分页信息（页码、每页大小）
     * @param stationName 场站名称，作为可选的筛选条件
     * @param alarmType   报警类型，作为可选的筛选条件
     * @return 分页结果，包含无人机操作记录
     */
    IPage<SysDroneOperations> selectByStationAndTypeWithPagination(Page<SysDroneOperations> page,
                                                                   String stationName,
                                                                   String alarmType);

    /**
     * 不分页查询无人机操作记录
     *
     * @param stationName 场站名称，作为可选的筛选条件
     * @param alarmType   报警类型，作为可选的筛选条件
     * @return 无人机操作记录列表
     */
    List<SysDroneOperations> selectByStationAndType(String stationName, String alarmType);

    void exportDroneOperationsToExcel(String stationName, String alarmType, ServletOutputStream outputStream);
}
